草庐IT

Spring Cloud 微服务架构下的 WebSocket 解决方案

全部标签

javascript - 文本编辑器的 Redux 架构 : dealing with coupled state

我正在使用React/Redux构建一个在某些方面类似于文本编辑器的应用程序。它不完全是一个文本编辑器,但它是相同的通用范例。有一个用于放置新项目的光标。可以添加、选择、删除项目等。我正在努力寻找一种符合redux精神的最佳方式来构建我的reducer。我有单独的状态切片来表示选择状态、文本本身、光标状态和其他设置。我认为“redux”方法是为每个状态切片设置缩减器,独立地改变状态以响应Action。然而,在文本编辑器中,这些状态片比乍看之下更加耦合。当你按下一个键时,有时会在光标所在的位置添加一个字母,并且光标会向前移动。但是,如果选择了文本,则将首先删除所选文本。如果您处于“插入”

javascript - promise 中的超时循环在 promise 解决后永远不会执行?

我遇到了一个问题,即从已解决的promise发送到setTimeout的回调永远不会执行。假设我有以下内容:classFoo{constructor(foo){this.foo=foo;}asyncexecUntilStop(callback){consttimeoutLoopCallback=()=>{if(this.stopExec)return;callback({data:'data'});setTimeout(timeoutLoopCallback,10);};setTimeout(timeoutLoopCallback,10);return{data:'data'};}st

javascript - 如何将图像粘贴到 Web 应用程序中?有哪些解决方案? HTML 5 Canvas ?

我目前正在构建一个非常简单的网络应用程序,它需要能够在浏览网络时复制图像,然后将其粘贴到我的页面上。我知道这种功能是可行的-因为我在写消息时将图像粘贴到gmail和Tumblr(我相信他们使用TinyMCE作为他们的编辑器)。经过长时间的搜索-我对可用解决方案的解释质量很差感到难过。这是我收集到的:$(document).bind('paste',function(e){console.log(e);})检查事件对象,似乎只有在有文本时才包含数据(无论如何在Chrome中)。我知道IE有一个clipboardData对象,可以让您访问剪贴板内容。我还听说过使用Flash、JavaApp

Javascript promise 不等待解决

我以为我对promises有很好的理解,直到我遇到了一个问题,下面是一个简化的代码片段。我的印象是console.log调用会输出firstsecondthird,但结果却是secondthirdfirst。谁能解释为什么第二个和第三个promise无需等待第一个就可以继续。varQ=require('q');(function(){varObj=function(){functionfirst(){vardeferred=Q.defer();setTimeout(function(){console.log('inthefirst')deferred.resolve();},200)

javascript - 如何保证多个 promise 的解决顺序?

尝试学习一些现代JS,尤其是ECMAScript6Promises。我正在玩这个简单的测试:letslow=newPromise((resolve)=>{setTimeout(function(){ console.log('slow'); resolve(); },2000,'slow');});letinstant=newPromise((resolve)=>{ console.log('instant'); resolve(); });letquick=newPromise((resolve)=>{setTimeout(function(){ console.log('quick

javascript - 什么是解决 javascript 中名称冲突的最佳方法?

我最近写了一些javascript代码来填充基于一些XML的下拉列表,非常简单的东西。问题是我不得不编写类似的代码来在不同的页面上做几乎相同的事情。因为代码几乎完全相同,所以我将大部分函数命名为相同的名称,认为它们永远不会包含在同一页面中。但是,由于两个javascript文件最终包含在同一个HTML页面中,因此出现了命名冲突。当我不得不返回并更改名称时,我只是将first_或second_添加到方法的名称中。这很痛苦,对我来说似乎不太优雅。我想知道是否有更好的方法来解决javascript中的名称冲突? 最佳答案 试试JavaSc

javascript - 我如何获取按下的每个键的值并使用 jQuery 在变量中使用它?

我如何获取每个按下的键的值并使用jQuery在变量中使用它?我想按下一个键,并在按下该键时立即在页面上显示与该键相关的特定图片。我也只想定位A-Z和“。”谢谢! 最佳答案 使用jQuery,您可以使用keypress事件,然后将字符转换为字符串,并根据您的条件进行匹配。这是一个workingexample:$(document).keypress(function(e){vars=String.fromCharCode(e.which);if(s.match(/[a-zA-Z\.]/))console.log(s+'isamatch

java - Java 7 下的 Nashorn

我正在尝试让Oracle的Nashorn在Java7下运行。我已经克隆了repo并编译了源代码。我要做的就是让它编译:将jdk.internal.org.objectweb.asm.*更改为org.objectweb.asm.*更改Long.hashCode()静态的一行。一切似乎都很愉快,Java7将Nashorn视为脚本引擎;但是当我尝试获取一个实例时:NashornScriptEngineFactoryfactory=newNashornScriptEngineFactory();ScriptEngineengine=factory.getScriptEngine();我得到异常

javascript - 如何解决 NODE.Js HTTP POST "ECONNRESET"错误

我有这个函数,传递给这个函数的以下数据返回一个ECONNRESET,套接字挂起错误。然而,当discountCode数组减少到只有10个对象时,它可以POST没有任何问题。这个问题的原因是什么?我尝试通过对缓冲区中的数据进行分段来执行多个req.write(),但是效果不佳。任何NodeJs忍者都可以对这个问题给出一些见解吗?createObj:function(data,address,port,callback){//console.log('CreateReward:'+JSON.stringify(data));varpost_data=JSON.stringify(data)

javascript - 带有 websocket 的 Node.js socket.io

我是Node.js或websocket的初学者。我有问题:我的HTML代码:test"usestrict";vargniazdo=newWebSocket('ws://localhost:3000');gniazdo.onopen=function(){console.log('Połączono');};gniazdo.onmessage=function(m){console.log(m.data);};我的Node.js代码:vario=require('socket.io')(3000);io.on('connection',function(socket){console.l